In a collaborative filtering setting, an ordinal ratings matrix can represent some form of “rating” by users over objects. For example, data contained in the ordinal ratings matrix could represent a rating that a user has given an object (e.g., a movie) on an ordinal ratings scale (e.g. a numerical range from 1 to 5) based on the user's opinion of the object. The matrix is said to be ordinal because the data is chosen from a selection of more than two values (e.g., a rating from “like” to “dislike,” which can be represented, for example, by a ratings scale from 1 to 5). Missing values are often present in these ordinal ratings matrices because users have not rated every object. Matrix completion methods using matrix factorization can be used to predict unknown values of the ratings matrix. The dimensionality of such data sets, however, can be large and difficult to manage when performing matrix completion. Therefore, it is helpful to reduce the dimensionality of the data sets and make them more manageable by using a projection matrix. Challenges arise in handling the missing values when undergoing dimensionality reducing projections, performing the matrix factorization, and making predictions of ratings in the original unprojected space.